package com.sale.goods.service;

import com.sale.common.mybatis.core.page.PageQuery;
import com.sale.common.mybatis.core.page.TableDataInfo;
import com.sale.goods.domain.dto.GoodsCostAdjustmentDto;
import com.sale.goods.domain.dto.GoodsCostAdjustmentViewDto;
import com.sale.goods.domain.vo.ExamineVo;
import com.sale.goods.domain.vo.GoodsCostAdjustmentAddVo;
import com.sale.goods.domain.vo.GoodsCostAdjustmentVo;

/**
 * 成本调整service
 */
public interface GoodsCostAdjustmentService {

    /**
     * 成本调整分页列表
     */
    TableDataInfo<GoodsCostAdjustmentDto> getCostAdjustmentList(GoodsCostAdjustmentVo goodsCostAdjustmentVo, PageQuery pageQuery);

    /**
     * 成本调整新增
     */
    boolean costAdjustmentAdd(GoodsCostAdjustmentAddVo goodsCostAdjustmentAddVo);

    /**
     * 成本调整修改
     */
    boolean costAdjustmentUpdate(GoodsCostAdjustmentAddVo goodsCostAdjustmentAddVo);

    /**
     * 成本调整查看
     */
    GoodsCostAdjustmentViewDto costAdjustmentGetView(Long id);

    /**
     * 删除
     * @param id
     * @return
     */
    boolean deleteGoodsCostAdjustment(Long id);

    /**
     * 提交审核
     */
    boolean subReview(Long id);

    /**
     * 撤销审核
     */
    boolean deleteReview(Long id);


    /**
     * 审核
     */
    boolean examine(ExamineVo examineVo) throws Exception;
}
